package com.cskaoyan.javase.basic._7escape;
/**
 * 转义字符
 * 什么是转义字符？
 * 所谓转义字符，就是用反斜杠（\）加上一个特殊的字符串用来表示一个全新的字符
 * 因为这个字符已经和原先字符串的意思大不相同，所以整体称之为转义字符
 * \123,\122 都是转义字符
 *
 * 转义字符的作用是什么？
 * 实际上转义字符可以表示任何一个普通字符，但是普通的字符直接书写给出即可，使用转义字符意义不大。
 * 转移字符最重要的用途是，表示那些无法用键盘直接输入的控制字符。比如在ASCII码表中，那些换行，翻页等等字符
 *
 * 常见的转义字符:
 * \b	退格(BS) ，将当前位置移到前一列	008
 * \n	换行(LF) ，将当前位置移到下一行开头	010
 * \r	回车(CR) ，将当前位置移到本行开头	013
 * \t	水平制表(HT) （跳到下一个TAB位置）	009
 * \\	两个反斜杠表示一个反斜杠	092
 * \'	代表一个单引号（撇号）字符	039
 * \"	代表一个双引号字符	034
 *
 * 特殊的:
 * \\ddd: ddd是一个八进制数,整体转义字符表示对应编码值的一个字符
 * \\uxxxx: xxxx是一个四位的十六进制数,整体转义字符表示对应编码值的一个字符
 *
 * @since 11:30
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        System.out.println("我是一个好\b人!");
        // 控制台打印并换行
        System.out.println("hello");
        // 控制台打印 不换行
        System.out.print("666!\n");
        System.out.print("777!\n");

        System.out.println("hello\nworld!");
        System.out.println("----------------");
        System.out.println("hello\rworld!");

        System.out.println("hello\tworld!");

        System.out.println("\\");
        System.out.println("\"");
        System.out.println("\'");

        // 八进制数141是十进制97 以下转义字符表示字母a
        System.out.println("\141");
        // 输出编码值为0的字符,是一个绝对空字符,什么都没有
        System.out.println("\000" + "hello");

        System.out.println("\u0061");
        System.out.println("\u0000" + "world");
    }
}
